Integrated circuit devices are typically subject to rigorous testing before they are sold or put to their intended use. In particular, each integrated circuit device is tested to determine whether or not certain specifications for that type of device, as determined and set by the manufacturer for example, are met.
An integrated circuit device may be tested by performing functional testing, application-specific testing, or both. Functional testing relates to whether or not the hardware found within the integrated circuit device is free from defects and meets manufacturer specifications. For example, if the integrated circuit device is or comprises a memory component such as a memory device, functional testing relates to whether or not a digital value (e.g. “1” or “0”) written to a cell of memory will later be retrieved without error, regardless of how the memory device is implemented.
Functional testing also relates to whether or not certain critical operating characteristics of the integrated circuit device fall within an allowable range of values. These critical operating characteristics may include such characteristics as power consumption, standby current, leakage current, voltage levels, and access time. The allowable range may equally be set by the manufacturer of the device or by appropriate standards.
Functional testing is generally oriented toward discovering whether or not an integrated circuit device under test is likely to fail during its intended use or application. It involves testing integrated circuit devices to verify how they execute a set of functions during testing procedures that are specifically designed for the particular use or application.
During application-specific testing, integrated circuit devices may be subject to a testing of their system behavior in order to detect their behavioral failures. A behavioral failure is a type of failure that occurs when an integrated circuit device is operated within an actual application system. For example, it may be a failure that occurs as a result of a specific command or access sequence to a memory device found in normal PC operations.
It is not necessarily the case that functional testing will detect behavioral failures because, during functional testing, the operation of the integrated circuit device under test is not necessarily indicative of how the device will behave during its intended application. Accordingly, complete and comprehensive testing of an integrated circuit device may require application-specific testing in addition to functional testing.
The testing of integrated circuit devices may involve the use of test vector patterns. In particular, test vector patterns may be generated by an appropriate test vector generator, and then transmitted by a tester to a device under test across a communication channel. The device under test then sends a response signal to the tester. The bit pattern contained in the response signal may be compared to a copy of the transmitted test vector pattern that is stored by the tester to determine if the device under test has produced an expected result.